Many computing platforms include a host central processing unit (CPU) (also referred to herein as a host) to perform various processing operations associated with user applications. Such applications may involve the decoding and output (rendering) of media, such as video and/or audio streams.
With respect to video, a host typically relies on a graphics engine to perform operations involving the decoding and rendering of video. However, for audio, the host typically performs operations involving its decoding and rendering. Although dedicated hardware audio codecs (encoder/decoders) may be employed, they add considerable expense.
Unfortunately, the processing of audio streams by the host is not very power efficient. For instance, audio processing cannot typically be done in more than 2 or 4 threads in typical client platforms.